﻿//Criado por....: Daniel da Cunha Bueno (daniel.bueno@futsa.com.br)
//Criado........: 2008-08-10 16:00
using System;
using System.Collections.Generic;
using System.Text;
using FutSA.Data;
using FutSA.Bussiness.Helpers;
using FutSA.Data.FutSADataSetTableAdapters;
  
namespace FutSA.Bussiness.Contexts
{
    /// <summary>
    /// Administra os dados de erros dentro da aplicação.
    /// </summary>
    public class Error : IContext
    {
        #region Variables
        FutSADataSet dataSet;
        #endregion

        #region Ctor
        /// <summary>
        /// Construtor padrão para a classe Error.
        /// </summary>
        public Error()
        {
            dataSet = new FutSA.Data.FutSADataSet();
        }
        /// <summary>
        /// Constructor interno com a opção de passar o DataSet para inicialização do mesmo.
        /// </summary>
        /// <param name="dataSet"></param>
        internal Error(FutSA.Data.FutSADataSet dataSet)
        {
            this.dataSet = dataSet;
        }
	    #endregion    

        #region Methods
        public void Fill()
        {
            ErrorTableAdapter errorTableAdapter = new ErrorTableAdapter();
            try
            {
                errorTableAdapter.Fill(dataSet.Error);
            }
            catch (Exception ex)
            {
                ExceptionManager.RegisterException(ex);
                throw ex;
            }
            finally
            {
                errorTableAdapter.Dispose(); 
            }
        }

        public void Update(FutSA.Data.FutSADataSet dataSet)
        {
            ErrorTableAdapter errorTableAdapter = new ErrorTableAdapter();
            try
            {
                errorTableAdapter.Update(dataSet.Error);
            }
            catch (Exception ex)
            {
                ExceptionManager.RegisterException(ex);
                throw ex;
            }
            finally
            {
                errorTableAdapter.Dispose();
            }
        }
        
        #endregion

        #region Properties
        public FutSA.Data.FutSADataSet DataSet
        {
            get
            {
                return dataSet;
            }
        }
        #endregion
    }
}
